NDK · C++ 混合编程
📚 30 章 · 从入门到实战
v2.4
1
NDK开发环境搭建
Android Studio配置
CMake / ndk-build
ABI架构
2
第一个JNI程序
Java↔C++互调
命名规则
javah/javac
so库
3
JNI基础数据类型
int/float/boolean
String↔jstring
jintArray
4
JNI引用类型管理
全局/局部/弱全局
引用泄漏排查
内存优化
5
JNI访问Java字段与方法
GetFieldID/GetMethodID
静态方法/构造
异常处理
6
C++与Java字符串互转
UTF-8 / Unicode
GetStringUTFChars
最佳实践
7
JNI中的多线程
Attach/Detach
线程安全回调
全局JVM指针
8
CMakeLists.txt高级配置
多库编译
预编译库导入
OpenCV/FFmpeg
9
ndk-build与Android.mk
传统构建
Application.mk
对比CMake
10
C++标准库在NDK中的使用
libc++_shared/static
std::string
std::vector
11
JNI性能优化
减少跨边界调用
批量处理
DirectBuffer
12
C++异常与JNI异常处理
try-catch
ExceptionCheck
异常传递
13
JNI回调Java接口
回调接口定义
C++线程安全回调
Lambda/函数指针
14
NDK日志系统
__android_log_print
日志级别
Release关闭
15
文件操作与IO
fstream路径问题
assets资源
SD卡读写
16
NDK网络编程
socket编程
C++ HTTP客户端
libcurl集成
17
图像处理实战
YUV转RGB
OpenCV Mat↔Bitmap
滤镜算法
18
音视频编解码基础
MediaCodec+NDK
FFmpeg集成
PCM采集播放
19
OpenGL ES与NDK
EGL环境
C++渲染管线
纹理/Shader
20
NDK安全与混淆
Obfuscator-LLVM
so加固
反调试
21
C++内存管理
shared_ptr/unique_ptr
内存池设计
22
NDK单元测试
Google Test
JNI测试Mock
自动化流水线
23
性能剖析与调优
perfetto/simpleperf
CPU/GPU耗时
热点优化
24
NDK与Kotlin互调
external关键字
@JvmStatic
协程+JNI
25
C++设计模式在NDK中的应用
单例/工厂/观察者
JNI层实现
26
NDK中的序列化
Protocol Buffers
FlatBuffers
rapidjson
27
跨平台C++代码管理
__ANDROID__宏
平台抽象层
条件编译
28
NDK编译优化
LTO
RTTI/异常开关
strip与符号表
29
大型项目NDK架构
模块化设计
接口隔离
依赖注入
编译缓存
30
实战:高性能图片压缩引擎
需求分析
架构设计
JNI封装
性能对比